﻿<?xml version="1.0" encoding="utf-8"?>
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" MadCap:lastBlockDepth="8" MadCap:lastHeight="2035" MadCap:lastWidth="1033">
    <head>
    </head>
    <body>
        <h1>Standard Folder and File Structure for MxPlugins</h1>
        <p>After running <a href="Install-DownloadInstall.htm">MxPlugin  MSI</a> &#160;a set of files and folders will be installed on your PC. If you elected just to run applications that use MxPlugins, then only the &lt;Core&gt; parts will be installed. However, if you elected to install the SDK&#160;so that you can build your own MxPlugins or develop applications that use them, then the additional &lt;SDK&gt; parts (shown in red) will be installed. In addition to installing these files and folders, MxPlugin MSI also performs a number of <a href="Install-SetupTasks.htm">setup tasks</a>.</p>
        <p>The documentation uses the following labels for certain key folders:</p>
        <ul>
            <li>&lt;MxRoot64&gt; - defaults to "C:\Program Files\Maximodex\"</li>
            <li>&lt;MxRoot32&gt; - defaults to "C:\Program Files (x86)\Maximodex\"</li>
            <li><span style="color: #ff0000;">&lt;VSRoot&gt;</span> - defaults to the "Visual Studio 2012\" folder in a user's MyDocuments folder</li>
            <li><span style="color: #ff0000;">&lt;MxRootSDK&gt;</span> - defaults to the "Projects\Codeplex\mxplugin\" folder in &lt;VSRoot&gt; </li>
        </ul>
        <p class="Tip">You can change the location of these key folders when running MxPlugin MSI. However, you should use the standard folder and file structure for the development of your MxPlugins and applications in order to maintain compatibility with MxPlugins developed by third parties.</p>
        <h2><a name="BasicFolders"></a>Basic Folders</h2>
        <h3>Core:</h3>
        <ul>
            <li>&lt;MxRoot32&gt;Common\Config</li>
            <li>&lt;MxRoot32&gt;Common\Bin</li>
            <li>&lt;MxRoot32&gt;Common\Bin\{8CB84F11-8199-4508-A081-FDADB7015ABD}</li>
            <li>&lt;MxRoot32&gt;Common\Bin\{9E8E6865-D31E-40A2-B913-59BEBC11BC41}</li>
            <li>&lt;MxRoot32&gt;Common\Bin\{F3E44D51-100B-4240-9ECA-5DAA26D5B7B5}</li>
        </ul>
        <h3>SDK:</h3>
        <ul>
            <li style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces</li>
            <li style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxUtils</li>
            <li style="color: #ff0000;">&lt;MxRootSDK&gt;ThirdPartyLibs</li>
        </ul>
        <h2>MxUtils Component</h2>
        <h3>Core</h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td style="font-weight: bold;">Destination</td>
                    <td style="font-weight: bold;">Source</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\MxUtils1.dll</td>
                    <td>&lt;MxRootSDK&gt;MxUtils\Release</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\MxUtils1D.dll</td>
                    <td>&lt;MxRootSDK&gt;MxUtils\Debug</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\MxUtilsApp.exe</td>
                    <td>&lt;MxRootSDK&gt;MxUtils\Release</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Config\MxUtils1Events.man</td>
                    <td>&lt;MxRootSDK&gt;MxUtils\MxUtils</td>
                </tr>
            </tbody>
        </table>
        <h3>SDK </h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;ThirdPartyLibs\MxUtils1.dll</td>
                    <td>&lt;MxRootSDK&gt;MxUtils\Release</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;ThirdPartyLibs\MxUtils1D.dll</td>
                    <td>&lt;MxRootSDK&gt;MxUtils\Debug</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxProductID.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxUtils\MxVersionInfo1.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\MxUtils</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxUtils\MxError1.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\MxUtils</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxUtils\MxUtils1.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\MxUtils</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxUtils\MxUtilsErrorCodes1.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\MxUtils</td>
                </tr>
            </tbody>
        </table>
        <h2>PluginStdLib Component</h2>
        <h3>Core</h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\{8CB84F11-8199-4508-A081-FDADB7015ABD}\PluginStdLib.dll</td>
                    <td>&lt;MxRootSDK&gt;PluginStdLib\Release</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\{8CB84F11-8199-4508-A081-FDADB7015ABD}\PluginStdDetailsApp.exe</td>
                    <td>&lt;MxRootSDK&gt;PluginStdLib\Release</td>
                </tr>
            </tbody>
        </table>
        <h3>SDK </h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\IMxPluginBase.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\IMxPluginLibDetails.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginStdLib\IPluginStdLib.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginStdLib</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginStdLib\PluginStdLibErrorCodes.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginStdLib</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;VSRoot&gt;Templates\ProjectTemplates\Visual C++ Project\PluginSample.zip</td>
                    <td>&lt;MxRootSDK&gt;Templates\Distribution</td>
                </tr>
            </tbody>
        </table>
        <h2>MxPluginManager</h2>
        <h3>Core</h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\MxPluginMngr1.dll</td>
                    <td>&lt;MxRootSDK&gt;MxPluginManager\Release</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\MxPluginMngr1D.dll</td>
                    <td>&lt;MxRootSDK&gt;MxPluginManager\Debug</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\\MxPluginManagerApp.exe</td>
                    <td>&lt;MxRootSDK&gt;MxPluginManager\Release</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\MxPluginManagerGUI.exe</td>
                    <td>&lt;MxRootSDK&gt;MxPluginManager\Release</td>
                </tr>
            </tbody>
        </table>
        <h3>SDK</h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;ThirdPartyLibs\MxPluginMngr1.lib</td>
                    <td>&lt;MxRootSDK&gt;MxPluginManager\Release</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;ThirdPartyLibs\MxPluginMngr1D.lib</td>
                    <td>&lt;MxRootSDK&gt;MxPluginManager\Debug</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxPluginManager\MxPluginLib1.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\MxPluginManager</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxPluginManager\MxPluginManager1.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\MxPluginManager</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\MxPluginManager\MxPluginManagerErrorCodes1.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\MxPluginManager</td>
                </tr>
            </tbody>
        </table>
        <h2>PluginXml</h2>
        <h3>Core</h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\{9E8E6865-D31E-40A2-B913-59BEBC11BC41}\PluginXml.dll</td>
                    <td>&lt;MxRootSDK&gt;PluginXML\Release</td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\{9E8E6865-D31E-40A2-B913-59BEBC11BC41}\PluginXmlApp.exe</td>
                    <td>&lt;MxRootSDK&gt;PluginXML\Release</td>
                </tr>
            </tbody>
        </table>
        <h3>SDK</h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginXml\IPluginXmlAttribute.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginXml</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginXml\IPluginXmlDoc.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginXml</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginXml\IPluginXmlElement.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginXml</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginXml\IPluginXmlLib.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginXml</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginXml\PluginXmlErrorCodes1.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginXml</td>
                </tr>
            </tbody>
        </table>
        <h2>PluginICPsample</h2>
        <h3>Core</h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td>&lt;MxRoot32&gt;\Common\Bin\{F3E44D51-100B-4240-9ECA-5DAA26D5B7B5}\PluginICPsample.dll</td>
                    <td>&lt;MxRoot32&gt;PluginICSample\Release</td>
                </tr>
                <tr>
                    <td style="color: #000000;">&lt;MxRoot32&gt;\Common\Bin\{F3E44D51-100B-4240-9ECA-5DAA26D5B7B5}\PluginICPsampleApp.exe</td>
                    <td>&lt;MxRoot32&gt;PluginICSample\Release</td>
                </tr>
            </tbody>
        </table>
        <h3>SDK</h3>
        <table style="width: 100%;">
            <col style="width: 50%;" />
            <col style="width: 50%;" />
            <tbody>
                <tr>
                    <td><b>Destination</b>
                    </td>
                    <td><b>Source</b>
                    </td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginICPsample\IPluginICPsample.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginICPsample</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;MxRootSDK&gt;PublicInterfaces\PluginICPsample\IPluginICPsampleErrorCodes.h</td>
                    <td>&lt;MxRootSDK&gt;PublicInterfaces\PluginICPsample</td>
                </tr>
                <tr>
                    <td style="color: #ff0000;">&lt;VSRoot&gt;Templates\ProjectTemplates\Visual C++ Project\PluginICPsample.zip</td>
                    <td>&lt;MxRootSDK&gt;Templates\Distribution</td>
                </tr>
            </tbody>
        </table>
    </body>
</html>